The section describes the programming interface of the GPIO HAL driver.
More...
GPIO HAL Driver
Overview
The GPIO HAL driver is designed to access GPIO hardware registers. It provides sets of APIs for users to configure and control GPIO ports/pins.
| Enumerator |
|---|
| kGpioDigitalInput |
Set current pin as digital input.
|
| kGpioDigitalOutput |
Set current pin as digital output.
|
- Parameters
-
| instance | GPIO instance number(HW_GPIOA, HW_GPIOB, HW_GPIOC, etc.) |
| pin | GPIO port pin number |
| direction | GPIO directions
- kGpioDigitalInput: set to input
- kGpioDigitalOutput: set to output
|
| static void gpio_hal_set_port_direction |
( |
uint32_t |
instance, |
|
|
uint32_t |
direction |
|
) |
| |
|
inlinestatic |
This function operates all 32 port pins.
- Parameters
-
| instance | GPIO instance number (HW_GPIOA, HW_GPIOB, HW_GPIOC, etc.) |
| direction | GPIO directions
- 0: set to input
- 1: set to output
- LSB: pin 0
- MSB: pin 31
|
| static uint32_t gpio_hal_get_pin_direction |
( |
uint32_t |
instance, |
|
|
uint32_t |
pin |
|
) |
| |
|
inlinestatic |
- Parameters
-
| instance | GPIO instance number(HW_GPIOA, HW_GPIOB, HW_GPIOC, etc.) |
| pin | GPIO port pin number |
- Returns
- GPIO directions
- 0: corresponding pin is set to input.
- 1: corresponding pin is set to output.
| static uint32_t gpio_hal_get_port_direction |
( |
uint32_t |
instance | ) |
|
|
inlinestatic |
This function gets all 32-pin directions as a 32-bit integer.
- Parameters
-
| instance | GPIO instance number (HW_GPIOA, HW_GPIOB, HW_GPIOC, etc.) |
- Returns
- GPIO directions. Each bit represents one pin. For each bit:
- 0: corresponding pin is set to input
- 1: corresponding pin is set to output
- LSB: pin 0
- MSB: pin 31
| void gpio_hal_write_pin_output |
( |
uint32_t |
instance, |
|
|
uint32_t |
pin, |
|
|
uint32_t |
output |
|
) |
| |
- Parameters
-
| instance | GPIO instance number(HW_GPIOA, HW_GPIOB, HW_GPIOC, etc.) |
| pin | GPIO port pin number |
| output | pin output logic level |
| static uint32_t gpio_hal_read_pin_output |
( |
uint32_t |
instance, |
|
|
uint32_t |
pin |
|
) |
| |
|
inlinestatic |
- Parameters
-
| instance | GPIO instance number (HW_GPIOA, HW_GPIOB, HW_GPIOC, etc.) |
| pin | GPIO port pin number |
- Returns
- current pin output status. 0 - Low logic, 1 - High logic
| static void gpio_hal_set_pin_output |
( |
uint32_t |
instance, |
|
|
uint32_t |
pin |
|
) |
| |
|
inlinestatic |
- Parameters
-
| instance | GPIO instance number(HW_GPIOA, HW_GPIOB, HW_GPIOC, etc.) |
| pin | GPIO port pin number |
| static void gpio_hal_clear_pin_output |
( |
uint32_t |
instance, |
|
|
uint32_t |
pin |
|
) |
| |
|
inlinestatic |
- Parameters
-
| instance | GPIO instance number(HW_GPIOA, HW_GPIOB, HW_GPIOC, etc.) |
| pin | GPIO port pin number |
| static void gpio_hal_toggle_pin_output |
( |
uint32_t |
instance, |
|
|
uint32_t |
pin |
|
) |
| |
|
inlinestatic |
- Parameters
-
| instance | GPIO instance number(HW_GPIOA, HW_GPIOB, HW_GPIOC, etc.) |
| pin | GPIO port pin number |
| static void gpio_hal_write_port_output |
( |
uint32_t |
instance, |
|
|
uint32_t |
portOutput |
|
) |
| |
|
inlinestatic |
This function operates all 32 port pins.
- Parameters
-
| instance | GPIO instance number (HW_GPIOA, HW_GPIOB, HW_GPIOC, etc.) |
| portOutput | data to configure the GPIO output. Each bit represents one pin. For each bit:
- 0: set logic level 0 to pin
- 1: set logic level 1 to pin
- LSB: pin 0
- MSB: pin 31
|
| static uint32_t gpio_hal_read_port_output |
( |
uint32_t |
instance | ) |
|
|
inlinestatic |
This function operates all 32 port pins.
- Parameters
-
| instance | GPIO instance number (HW_GPIOA, HW_GPIOB, HW_GPIOC, etc.) |
- Returns
- current port output status. Each bit represents one pin. For each bit:
- 0: corresponding pin is outputting logic level 0
- 1: corresponding pin is outputting logic level 1
- LSB: pin 0
- MSB: pin 31
| static uint32_t gpio_hal_read_pin_input |
( |
uint32_t |
instance, |
|
|
uint32_t |
pin |
|
) |
| |
|
inlinestatic |
- Parameters
-
| instance | GPIO instance number(HW_GPIOA, HW_GPIOB, HW_GPIOC, etc.) |
| pin | GPIO port pin number |
- Returns
- GPIO port input value
- 0: Pin logic level is 0, or is not configured for use by digital function.
- 1: Pin logic level is 1
| static uint32_t gpio_hal_read_port_input |
( |
uint32_t |
instance | ) |
|
|
inlinestatic |
This function gets all 32-pin input as a 32-bit integer.
- Parameters
-
| instance | GPIO instance number(HW_GPIOA, HW_GPIOB, HW_GPIOC, etc.) |
- Returns
- GPIO port input data. Each bit represents one pin. For each bit:
- 0: Pin logic level is 0, or is not configured for use by digital function.
- 1: Pin logic level is 1.
- LSB: pin 0
- MSB: pin 31